home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / TEECHART / Src Code / TEECOUNT.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-24  |  1.4 KB  |  52 lines

  1. {**********************************************}
  2. {   TCountTeeFunction Component                }
  3. {   Copyright (c) 1996-1998 by David Berneda   }
  4. {**********************************************}
  5. {$I teedefs.inc}
  6. unit TeeCount;
  7.  
  8. interface
  9.  
  10. Uses Classes,Graphics,Teengine,Chart,Series;
  11.  
  12. Type TCountTeeFunction=class(TTeeFunction)
  13.      public
  14.        Function Calculate(Series:TChartSeries; First,Last:Longint):Double; override;
  15.        Function CalculateMany(SeriesList:TList; ValueIndex:Longint):Double;  override;
  16.      end;
  17.  
  18. implementation
  19.  
  20. Uses SysUtils,TeeConst,TeeProco;
  21.  
  22. Function TCountTeeFunction.Calculate(Series:TChartSeries; First,Last:Longint):Double;
  23. begin
  24.   if First=TeeAllValues then result:=ValueList(Series).Count
  25.                         else result:=Last-First+1;
  26. end;
  27.  
  28. Function TCountTeeFunction.CalculateMany(SeriesList:TList; ValueIndex:Longint):Double;
  29. var t:Longint;
  30. begin
  31.   result:=0;
  32.   for t:=0 to SeriesList.Count-1 do
  33.     if ValueList(TChartSeries(SeriesList[t])).Count>ValueIndex then result:=result+1;
  34. end;
  35.  
  36. { Series/Functions Registration }
  37. Procedure TeeCountExitProc; far;
  38. begin
  39.   UnRegisterTeeFunctions([TCountTeeFunction]);
  40. end;
  41.  
  42. initialization
  43.   RegisterTeeBasicFunction(TCountTeeFunction, TeeMsg_FunctionCount);
  44. {$IFDEF D1}
  45.   AddExitProc(TeeCountExitProc);
  46. {$ENDIF}
  47. {$IFNDEF D1}
  48. finalization
  49.   TeeCountExitProc;
  50. {$ENDIF}
  51. end.
  52.